secondlifefandomcom-20200214-history
Second Life Wiki:Merge/Linden Scripting Language
Second Life uses the built-in scripting language called Linden Scripting Language (LSL). LSL is a C/Java-like state-/event-driven language which is used to have objects interact with each other and residents in-world (and sometimes communicating with the "outside world" as well via email, XML-RPC and HTTP requests). LSL is a strongly-typed(?) language that is compiled to bytecode before runtime execution in a virtual machine on one of Linden Lab's servers. The first version of LSL was a BASIC-based language entitled LSL1. LSL1 did not see much public usage, but was mainly used during the "Alpha" phase of SL (then LindenWorld). Some time after 2002, the current version (LSL2) was written by Cory Linden, who also wrote LSL1. Since the conception of LSL2, many other Lindens have added onto the language, mostly adding functions. All functions built into LSL are prefixed with "ll" which stands for "Linden Library" (or "Linden Lab" or "Linden Language"--there has been no "official statement" on what exactly the intials stand for, though the LSL documentation, lsl_guide.html, calls them "Linden Library functions" numerous times). An HTML help file is installed with SL that contains information on LSL such as a few example scripts and the listing of functions, states, etc. However, as time goes on, this file is often either slow to update or does not provide substantial help. Thus, to make up for this lacking, several residents (and largely Catherine Omega) set up a wiki documenting all things to do with LSL. The LSL Wiki quickly caught on and became the number one resource for a large portion of scripters inside SL. Originally, the LSL Wiki was hosted on a private server, but about year into its existence Linden Lab offered to host it. This offer was accepted and the wiki could be found here. Some arguments and dissapointments resulted from this change, with most concern directed towards the lack of potential software updating of the wiki or changing to better software (like MediaWiki). However, overall, it seemed to have been a good decision as it made bandwidth concerns "moot" and the LSL Wiki was linked to from inside the SL client from the Help Menu. The LSL Wiki is now once again hosted by Catherine Omega privately, it is now hosted on http://lslwiki.net. After Catherine chose to host the LSL Wiki herself again, Linden Lab created a LSL Portal on their official wiki. This portal is set up in the same way as the LSL Wiki and contains much of the same content. The portal is also linked to from the client and is used in the LSL Editor for help on functions, values, and etc. Babbage Linden is working on the next update to LSL which will include Mono. Mono will potentially help scripts run and compile faster as well as allow residents to use other languages such as C++ and C#. Babbage has been occasionally providing peaks into the development of Mono for LSL on his blog. Since the merging of all Linden blogs into one large blog any further news can be found by searching the Linden blog for "mono" (example). Links * HTML LSL Reference: An old LSL reference guide which was installed with SL; functions and states are sorted by bytecode instead of alphabetically as they are currently; dated Friday, June 13, 2003, 5:09:36 PM. * PDF: Beginners Script Guide: Old LSL PDF guide; includes detailed help, documentation, tips, and example code; dated 4/9/03. * LSL Wiki: The best resource for LSL documentation. Hosted privately by Catherine Omega. * SL Wiki: LSL Portal: The official SL Wiki's LSL portal, as linked to from the client. * Wikipedia LSL Page: Wikipedia LSL entry Category:Scripting